package com.example.mysql.学习笔记.高级.入门.逻辑架构.数据库缓冲池;

/**
 * 缓冲池管理器会尽量将经常使用的数据保存起来,在数据库进行页面读操作的时候，
 * 首先会判断该页面是否在缓冲池中，
 * 如果存在就直接读取，如果不存在,就会通过内存或磁盘将页面存放到缓冲池中再进行读取。
 *
 * 如果我们执行SQL语句的时候更新了缓存池中的数据,那么这些数据会马上同步到磁盘上吗?
 * 实际上，当我们对数据库中的记录进行修改的时候，首先会修改缓冲池中页里面的记录信息，然后数据库会以一
 * 定的频率刷新到磁盘上。注意并不是每次发生更新操作,都会立刻进行磁盘回写。缓冲池会采用一种叫做
 * checkpoint的机制将数据回写到磁盘上,这样做的好处就是提升了数据库的整体性能。
 * 比如，当缓冲池不够用时，需要释放掉一些不常用的页， 此时就可以强行采用checkpoint的方式,将不常用的脏
 * 页回写到磁盘上,然后再从缓冲池中将这些页释放掉。这里脏页(dirty page)指的是缓冲池中被修改过的页，与
 * 磁盘上的数据页不-致。
 *
 * 由于不是及时的把数据页的信息即使刷新到磁盘   会发生宕机的存在
 *
 * 或者  刷新到磁盘进行了一半              宕机了
 * Redo Log           Undo Log
 *
 *
 *
 *
 */
public class 缓冲池如何读取信息 {
}
